"""
模块-: 创建服务器模块
@Author          :王海波
@Version         ：V 1.0.0
@CreateTime       ：2020/10/20  14:52
-----------------------------------
@ModifyTime       : 2020/10/20  14:52
@ModifyContent    : 2020/10/20  14:52
@Remark           : 备注


    BluePro .\ __init __ 创建服务器
    绑定配置
    绑定数据库
    绑定migrate 数据库管理工具
"""
# 导包
from flask import Flask   # 导入Flask模块
from flask_sqlalchemy import SQLAlchemy  # 导入关系数据库模块
from bluepro.config import BaseConfig   # 导入配置文件
# from flask_wtf import CSRFProtect     # 导入CSRF保护
from flask_migrate import Migrate     # 导入Migrate插件


db = SQLAlchemy()    # 绑定数据库
migrate = Migrate()    # 实例化 Migrate插件
# csrf = CSRFProtect()    # 实例化CSRF保护

# 创建配置函数
def create_app():
    app = Flask(__name__)  # 实例化服务器

    # 注册蓝图
    from bluepro.OApro import OApro   # 导入蓝图
    app.register_blueprint(OApro, url_prefix = "/OA/")   # 注册蓝图

    # 数据库配置
    app.config.from_object(BaseConfig)

    db.init_app(app)   # app绑定数据库
    migrate.init_app(app, db)    # app绑定数据库管理插件 migrate
    # csrf.init_app(app)    # 绑定CSRF

    return app    #返回服务器实例

